<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<script>
    //简单数据类型又叫值类型   ，复杂类型又叫做引用类型
    //值类型： 在储存时变量中储存的时值本身  string number bollen undefined null
    //null
    var timer = null;
    console.log(typeof timer);

    //引用类型  在存储时变量（栈）中储存的只是地址（引用） 通过new关键字创建  
    //如object Array Date等
     
     //简单数组类型存放在栈里面（栈里面存放的值）
     //复杂数据类型存储在堆里面

    function Person(name) {
        this.name = name;
    }
    function f1(x) { // x = p
        console.log(x.name); // 2. 这个输出什么 ?    刘德华
        x.name = "张学友";
        console.log(x.name); // 3. 这个输出什么 ?    张学友
    }
        var p = new Person("刘德华");
        console.log(p.name);    // 1. 这个输出什么 ?   刘德华
        f1(p);
        console.log(p.name);    // 4. 这个输出什么 ?  张学友

</script>
<body>
    
</body>
</html>